Microsoft Azure ActiveDirectory認証
オンプレ版は、Microsoft Azure ActiveDirectory(通称 Azure AD)による認証に対応しています。 設定方法は以下の通りです
必要なもの
HTTPSで動いているオンプレ版Scrapbox
Microsoftアカウント
Microsoft Azureにおける設定
Azure Active Directory -> App registrations に移動します
注: すでにAppを登録済みのときは、All applicationsをクリックし表示を切り替えてください
New Regstrationをクリックします
Nameにアプリ名 "Scrapbox for your-comapny-name" を入力ます
Supported account typesはデフォルトのオプションを選びます
Redirect URIs セクションで、アプリURL + /auth/microsoft/callback を入力します
例: https://example.com/auth/microsoft/callback
https://gyazo.com/7e19b9783b58a282e879157a47358419
Registerをクリックします
以下、Azure Active Directory -> App registrations -> アプリ名 で辿り着く画面を「ホーム」と呼びます。
ホーム -> Authentication をクリックします
さらに Advanced settings セクションの Implict grant にて、ID tokens のチェックをONにします
https://gyazo.com/fb2309c8a37d9531c7e9c25a73645b94
最後に、画面上部のSaveをクリックします
ホーム -> Certificates & secretsに移動します
Clients secretsセクションで、New client secretをクリックします
Add a client secretのdescriptionに"SSO"などと入力します(キー名はなんでもよいです)
Expiresを選びます
Addをクリックします
https://gyazo.com/6834da3e38b12fb8a6670d552e5800d4
ここで表示された秘密のキーをメモします
https://gyazo.com/bc0fdfd8d6f33dc03d8691d9d0fd10e4
CLIENT_IDの確認
Application IDが、CLIENT_IDになります
ホーム -> Overview に移動し、Application (client) ID をメモします
https://gyazo.com/51089fd6999db55120dce98e1a4706cd
Tenant IDの確認
ホーム -> Overview に移動し、Tenant IDをメモします
https://gyazo.com/c925d7a0a8f65d1f69c5c9e70f714276
Azure Portalを二つ以上をご利用の企業様
Propertiesから、Multi-tenantedをYesに設定してください
Scrapboxにおける設定
以下の3つを設定ファイルに追加してください。
MICROSOFT_CLIENT_ID: 上記Application ID
MICROSOFT_CLIENT_SECRET: Clients secretsで取得した秘密のキー
MICROSOFT_TENANT:4ef22f8b-9141-4a70-8682-63a3916c28c6のようなUUID Scrapboxを再起動します
$ docker-compose down
$ docker-compose up -d
以上で設定完了です
ログイン画面でLog in with Microsoftが表示され、無事ログインできれば完了です
Happy Scrapbox Life!
https://gyazo.com/4bc2c9cacd6ad7c5b262490cc63663d7
https://gyazo.com/a21be800571ca3f386c5fab59cd325c7.mp4